package com.soft.entity;

import java.time.LocalDateTime;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

/**
 * 实体：日程（表 schedule）
 * 描述：记录时间区间、地点、优先级与状态，可关联创建者与团队。
 */
@TableName("schedule")
public class Schedule {
     // 主键，自增
    @TableId(type = IdType.AUTO)
    private Integer scheduleId;
    
     // 标题
    private String title;
    
     // 内容
    private String content;
    
     // 开始时间
    private LocalDateTime startTime;
    
     // 结束时间
    private LocalDateTime endTime;
    
     // 地点
    private String location;
    
     // 状态：todo/doing/done/canceled
    private String status; // todo/doing/done/canceled
    
     // 优先级：low/medium/high
    private String priority; // low/medium/high
    
     // 创建者用户 ID
    private Integer creatorId;
    
     // 团队 ID
    private Integer teamId;
    
     // 提醒时间
    private LocalDateTime remindTime;
    
     // 创建时间
    private LocalDateTime createTime;
    
     // 更新时间
    private LocalDateTime updateTime;

    public Integer getScheduleId() {
        return scheduleId;
    }

    public void setScheduleId(Integer scheduleId) {
        this.scheduleId = scheduleId;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public LocalDateTime getStartTime() {
        return startTime;
    }

    public void setStartTime(LocalDateTime startTime) {
        this.startTime = startTime;
    }

    public LocalDateTime getEndTime() {
        return endTime;
    }

    public void setEndTime(LocalDateTime endTime) {
        this.endTime = endTime;
    }

    public String getLocation() {
        return location;
    }

    public void setLocation(String location) {
        this.location = location;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getPriority() {
        return priority;
    }

    public void setPriority(String priority) {
        this.priority = priority;
    }

    public Integer getCreatorId() {
        return creatorId;
    }

    public void setCreatorId(Integer creatorId) {
        this.creatorId = creatorId;
    }

    public Integer getTeamId() {
        return teamId;
    }

    public void setTeamId(Integer teamId) {
        this.teamId = teamId;
    }

    public LocalDateTime getRemindTime() {
        return remindTime;
    }

    public void setRemindTime(LocalDateTime remindTime) {
        this.remindTime = remindTime;
    }

    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }

    public LocalDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }
}
